package com.ddw.wotcg.client.threejs.math;

import com.google.gwt.core.client.JavaScriptObject;

/**
 * http://mrdoob.github.com/three.js/docs/54/#Reference/Extras/ColorUtils
 * 
 * @author fungus1487
 * 
 */
public final class Color extends JavaScriptObject {
	
	public static native Color create(int hex) /*-{
		return new $wnd.THREE.Color(hex);
	}-*/;
	
	protected Color() {
	}
	
	public native Color clone_() /*-{
		return this.clone();
	}-*/;
	
	public native void convertGammaToLinear() /*-{
		this.convertGammaToLinear();
	}-*/;
	
	public native void convertLinearToGamma() /*-{
		this.convertLinearToGamma();
	}-*/;
	
	public native void copy(Color color) /*-{
		this.copy(color);
	}-*/;
	
	public native void copyGammaToLinear(Color color) /*-{
		this.copyGammaToLinear(color);
	}-*/;
	
	public native void copyLinearToGamma(Color color) /*-{
		this.copyLinearToGamma(color);
	}-*/;
	
	public native double getB() /*-{
		return this.b;
	}-*/;
	
	public native String getContextStyle() /*-{
		return this.getContextStyle();
	}-*/;
	
	public native double getG() /*-{
		return this.g;
	}-*/;
	
	public native int getHex() /*-{
		return this.getHex();
	}-*/;
	
	public native int getHexString() /*-{
		return this.getHexString();
	}-*/;
	
	public native double getR() /*-{
		return this.r;
	}-*/;
	
	public native void setContextStyle(String contextStyle) /*-{
		this.setContextStyle(contextStyle);
	}-*/;
	
	public native void setHex(int hex) /*-{
		this.setHex(hex);
	}-*/;
	
	public native void setHSV(double h, double s, double v) /*-{
		this.setHSV(h, s, v);
	}-*/;
	
	public native void setRGB(double r, double g, double b) /*-{
		this.setRGB(r, g, b);
	}-*/;
	
}
